With the development of science and technology, people's demand for mobile phones presents a trend of Personal Computer (PC), and the required application programs are increasing. At present, the dynamic loading technology is basically realized in smart phones, which is similar to the dynamic link library for Windows or the dynamic shared file for Linux on the PC, and can load applications dynamically; while the dynamic loading technology has not been implemented in most non-smart phones yet. Since the dynamic loading technology can not only improve the efficiency of the software development and load on demand to save hardware resources, but also meets the requirements for telecom operators to continuously extend the additional value-added services and for the mobile phone users to download and use new functions at any time; therefore implementing the dynamic loading technology in non-smart phones is an inevitable trend for the development of the non-smart phones. Accordingly, a debugging method which complements the technology also becomes an important factor to determine the technical and practical values of the technology.
The existing debugging methods for embedded systems are roughly divided into three modes: debugging through designing resident monitoring software, Joint Test Action Group (JTAG) debuggers and employing online debuggers, wherein employing a JTAG debugger is the most commonly used debugging mode during the development. At present, the existing debugging methods are all based on these three modes, to modify the implementation, monitor concerned debugging information in the debugging process and output the debugging information by means of facilitating understanding. Furthermore, all these debugging methods are used to debug the compiled and linked executable object codes, but have not involved a method for debugging relocatable object codes and debugging dynamically loaded relocatable programs.
There are a plurality of formats for relocatable files, such as the Portable Executable (PE) format of Microsoft, the Executable and Linkable Format (ELF) of Unix/Linux. The dynamically loaded relocatable files adopt link views in an ELF format, and therefore the debugging method of the relocatable files is also for the relocatable files in an ELF format. However, the existing debugging tools can not directly load the relocatable files for debugging.